Add strict CSP mode with opt-in inline style removal #412
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It also required this PR for goober which was merged and is now available in 2.1.17: cristianbote/goober#612
This PR adds optional strict Content Security Policy (CSP) support to react-hot-toast, making it compatible with CSP policies that disallow inline styles.
Changes
strictCSPprop: Opt-in mode that removes all inline styles for CSP compliancekeyframes()calls with static@keyframesCSS - cleaner, more performant, and CSP-compatible. NOTE: This change applies to both mode since it works either way.API
CSS Variables (Strict CSP Mode)
Why?
Inline
styleattributes cannot be secured with CSP nonces - they require'unsafe-inline'which defeats the purpose of CSP. This PR provides a path for applications with strict CSP requirements while maintaining full backward compatibility.Implementation
Documentation
Backward Compatibility
✅ Fully backward compatible - no breaking changes. Strict CSP mode is opt-in via
strictCSP={true}prop.